
package com.demo.media;

import com.demo.util.PropertiesHelper;
import com.jfinal.aop.Before;
import com.jfinal.core.Const;
import com.jfinal.core.Controller;
import com.jfinal.kit.JsonKit;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.render.JsonRender;

import org.apache.log4j.Logger;

import java.io.File;
import java.util.List;
import java.util.Properties;

public class WxImgController extends Controller {
    private static String filePath ="";
    private static String url ="";
    /**
     *判断filePhth路径中是否存在该文件夹，不存在则创建该文件夹
     *创建成功则返回True
     * @param filePhth
     * @return
     **/
    static{
        Properties r = PropertiesHelper.loadProperty("/weixin.properties");
        if(!r.isEmpty()){
            try{
                filePath = r.getProperty("filePath");
                url= r.getProperty("wxmediaUrl");
            }catch(Exception e){
                Logger.getLogger(WxImgController.class).error("无法读取参数",e);
            }
        }else{
            Logger.getLogger(WxImgController.class).error("无法读取 weixin.properties");
        }
    }

    public void index() {
        List<Record> newlist =  WxImg.dao.findAlls("") ;
        setAttr("filePath",filePath);
        setAttr("list",newlist);
        render("/WEB-INF/views/weixin/media/wxImg.html");
    }
/**
 * add
 */
    public void  newModes() {
            String   id=getPara("id");
//    List<Record> newlist = Db.find("select  * from     where    id=  '" + id + "'");
    List<Record> newlist =  WxImg.dao.findAlls(  "       id=  '" + id + "'") ;

    setAttr("newlist",newlist);
    render("test/wxImg.html");
    }

   /**
     * 在增加了SearchSql拦截之后就可以根据页面配置信息
     * 自动装配查询语句放入request中,通过getAttr(Const.SEARCH_SQL)函数获得
     * 根据实际需要自动组装到Sql语句里面
     */
	public void query() {
        int pageNumber = getParaToInt("page");
        int pageSize = getParaToInt("rows");
        String where = "";
        Page<WxImg> page = WxImg.dao.page(pageNumber, pageSize, where);
        renderJson(page);
	}
	/**
     * save
     * @param
     * @return
     */
	public void save() {
        if(getModel(WxImg.class).save()){
        //    renderJson("保存成功");
			render(new JsonRender(JsonKit.toJson("保存成功！")).forIE());

        }else{
         //   renderJson("保存失败");
			render(new JsonRender(JsonKit.toJson("保存失败！")).forIE());

        }
	}

/**
     * Post请求的菜单更新函数,可以接受菜单的id和菜单对象,并且根据菜单id进行更新,返回影响行数根据此判断是否操作成功
     * 本例子使用rose框架的est风格url可以吧参数作为路径一部分进行传递
     * @param
     * @return
     */
	public void update() {
        if(getModel(WxImg.class).update()){
      //      renderJson("修改成功");
			render(new JsonRender(JsonKit.toJson("修改成功！")).forIE());

        }else{
        //    renderJson("修改失败");
			render(new JsonRender(JsonKit.toJson("修改失败！")).forIE());

        }
	}

		/**
     * Post请求的菜单删除函数,可以接受菜单ID 并且根据ID进行物理删除,并且返回影响行数,据此判断是否操作成功
     * @param
     * @return
     */
	public void delete() {
        if(WxImg.dao.deleteById(getParaToInt())){
         //   renderJson("删除成功");
			render(new JsonRender(JsonKit.toJson("删除成功！")).forIE());

        }else{
          //  renderJson("删除失败");
			render(new JsonRender(JsonKit.toJson("删除失败！")).forIE());

        }
	}

    /**
     * 文件删除
     */
    public void delfile(){
        String filename=getPara("filename");
        String id=getPara("id");
        String file =   getRequest().getRealPath("/" +filePath)+"/"+filename;
        File f = new File(file);
        // 路径为文件且不为空则进行删除
        if(WxImg.dao.deleteById(id)){
            //删除文件
                if (f.isFile() && f.exists()) {
                    f.delete();
                    //
                 //   renderJson("删除成功");
        			render(new JsonRender(JsonKit.toJson("删除成功！")).forIE());

                } else {
                   // renderJson("删除失败");
        			render(new JsonRender(JsonKit.toJson("删除失败！")).forIE());

                }
        }else{
      //     renderJson("删除失败");
			render(new JsonRender(JsonKit.toJson("删除失败！")).forIE());

        }
    }
}

